/***************************************************************
 * Name:      cameraMain.h
 * Purpose:   Defines Application Frame
 * Author:     ()
 * Created:   2024-01-02
 * Copyright:  ()
 * License:
 **************************************************************/

#ifndef CAMERAMAIN_H
#define CAMERAMAIN_H

#include "cameraApp.h"
#include "cameraGUI.h"

#include <wx/socket.h>

#include <list>
#include <atomic>
#include <thread>
using namespace std;

class cameraDialog: public CameraGUI
{
    public:
        cameraDialog(wxDialog *dlg);
        ~cameraDialog();
    private:
        virtual void OnClose(wxCloseEvent& event);
        virtual void OnInitDialog( wxInitDialogEvent& event );
        virtual void OnSocketEvent(wxSocketEvent& event);

        void TcpConnect();
        void UdpConnect();

    atomic_bool mExit=false;
    list<wxBitmap> mBitmaps;
    wxSocketClient mTcp;
    wxSocketClient mUdp;

    wxDECLARE_EVENT_TABLE();
};
#endif // CAMERAMAIN_H
